#ifndef GIFIMAGEDATA_H
#define GIFIMAGEDATA_H

#include "winggif.h"
#include <QIODevice>
#include <QObject>

namespace WingGif {

class WINGEXPORT GifImageData : public QObject {
  Q_OBJECT

  Q_PROPERTY(char lzwMinimumCodeSize READ lzwMinimumCodeSize WRITE
                 setLzwMinimumCodeSize)
  Q_PROPERTY(
      QByteArray compressedData READ compressedData WRITE setCompressedData)

public:
  explicit GifImageData(QIODevice *stream, QObject *parent = nullptr);

  char lzwMinimumCodeSize();
  void setLzwMinimumCodeSize(char value);
  QByteArray compressedData();
  void setCompressedData(QByteArray &value);

private:
  char _lzwMinimumCodeSize;
  QByteArray _compressedData;
};

} // namespace WingGif

#endif // GIFIMAGEDATA_H
